<?php
/**
 * JD_Script 类 
 * 
 * 在网页中输出JavaScript (// TODO并对输出的script内容进行合并压缩处理)
 * 
 * @package		JD
 * @author tongliang
 *
 */
class JD_Script extends JD_Queue{
	function __construct() {
		parent::__construct();
	}
	
	/**
	 * 入队操作, 将对象加入队尾 ,不允许加入重复元素
	 * @param mixed $obj
	 */
	function enqueue($obj){
		if ($this->indexOf($obj) == -1){
			parent::enqueue($obj);
		}
	}
	/**
	 * 输出JavaScript
	 * @param $ret_string	将JavaScript输出为字符串,而不是直接输出到页面
	 * @return mixed 当$ret_string为true时返回string，否则无返回值
	 */
	function export($ret_string=false){
		if ($ret_string){
			ob_start();
		}
		while ( ! $this->isEmpty()){
			$href = $this->dequeue();
			if ( strpos($href,base_url()) !== 0 ){
				$href  = base_url().'js/'.$href;
			}
			echo sprintf('<script type="text/javascript" src="%s.js"></script>',$href);
		}
		if ($ret_string){
			$data = ob_get_contents();
			ob_end_clean();
			return $data ;
		}
	}
}
?>